$(function() {
	initSelect();
	var oTable = new TableInit();
	oTable.Init();
	initTime();
	
});

$("#btn_query").click(function () {
	var stime=$("#stime").val();
	var etime=$("#etime").val();
	if(stime!=null&&stime!=''&&etime!=null&&etime!=''&&stime>etime){
		window.wxc.xcConfirm("结束时间需大于开始时间", window.wxc.xcConfirm.typeEnum.confirm,{
			title: "提示",
			btn:parseInt("0001",2)
		});
	}else{
		$('#tb_table').bootstrapTable('refreshOptions',{pageNumber:1});
	    $('#tb_table').bootstrapTable('refresh');
	}
    
});

var TableInit = function() {
	var oTableInit = new Object();

	oTableInit.Init = function() {

		$("#tb_table").bootstrapTable({
			url : proName+'/warning/getPage',// 请求后台参数
			method : 'post', // 请求方式（*）
			toolbar : '#toolbar', // 工具按钮用哪个容器
			dataType : 'json',
			striped : true, // 是否显示行间隔色
			cache : false, // 是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
			pagination : true, // 是否显示分页（*）
			singleSelect : true, // 单选CheckBox
			sortable : true, // 是否启用排序
			sortOrder : "asc", // 排序方式
			queryParams : oTableInit.queryParams,// 传递参数（*）
			sidePagination : "server", // 分页方式：client客户端分页，server服务端分页（*）
			pageNumber : 1, // 初始化加载第一页，默认第一页
			pageSize : 10, // 每页的记录行数（*）
			pageList : [ 10, 20, 30 ], // 可供选择的每页的行数（*）
			strictSearch : true,
			clickToSelect : true, // 是否启用点击选中行
			// height: 550, //行高，如果没有设置height属性，表格自动根据记录条数决定表格高度
			uniqueId : "id", // 每一行的唯一标识，一般为主键列
			cardView : false, // 是否显示详细视图
			rowStyle : function rowStyle(row, index) {
				return {
					css : {
						"font-size" : "14px",
						"height" : "15px",
						"line-height" : 1
					}
				};
			},
			detailView : false, // 是否显示父子表
			columns : [ {
				checkbox : true,
				width:'2%'
			}, {
				field : 'id',
				title : '序号',
				align : 'center',
				width:'2%',
				formatter : function(value, row, index) {
					var pageSize=$('#tb_table').bootstrapTable('getOptions').pageSize;//通过表的#id可以得到每页多少条
        			var pageNumber=$('#tb_table').bootstrapTable('getOptions').pageNumber;//通过表的#id可以得到当前第几页
					return pageSize*(pageNumber-1)+index+1;
				}
			},{
				field : 'objType',
				title : '监控对象类型',
				align : 'center',
			},  {
				field : 'obj',
				title : '监控对象',
				align : 'center',
			},  {
				field : 'alarmItem',
				title : '预警指标',
				align : 'center',
			}, {
				field : 'alarmTime',
				title : '报警时段',
				align : 'center',
			},  {
				field : 'comparisonOperators',
				title : '预警阈值',
				align : 'center',
			},  {
				field : 'actualNumerical',
				title : '实际数值',
				align : 'center',
			},  {
				field : 'principal',
				title : '预警通知人',
				align : 'center',
			},  {
				field : 'status',
				title : '当前状态',
				align : 'center',
			}
			]
		});
	};
	//得到查询的参数
    oTableInit.queryParams = function (params) {
        temp = {   
            limit: params.limit,   
            offset: params.offset,
            alarmItem:$("#alarmItem").val(),
            objType:$("#objType").val(),
            obj:$("#obj").val(),
            stime:$("#stime").val(),
            etime:$("#etime").val()
        };
        return temp;
    };

    return oTableInit;
}

//初始下拉框

function initSelect(){
	//设置下拉展示个数
	$('#objType').selectpicker({
		size:10
	});
	$('#obj').selectpicker({
		size:10
	});
	$('#alarmItem').selectpicker({
		size:10
	});
	//监控项
	$.ajax({
		url:proName+'/warning/getAlarmItem',
		dataType:'json',
		success:function(data){
			$("#alarmItem").append("<option value=''>请选择</option>");
			if(data!=null){
				for(var i=0;i<data.length;i++){
					$("#alarmItem").append("<option value='"+data[i].dictCode+"'>"+data[i].dictName+"</option>");
				}
			}
			$('#alarmItem').selectpicker('refresh');
		}
	});
	//监控对象类型
	$.ajax({
		url:proName+'/warning/getObjType',
		dataType:'json',
		success:function(data){
			$("#objType").append("<option value=''>请选择</option>");
			if(data!=null){
				for(var i=0;i<data.length;i++){
					$("#objType").append("<option value='"+data[i].dictCode+"'>"+data[i].dictName+"</option>");
				}
			}
			$('#objType').selectpicker('refresh');
		}
	});
	//监控对象
	$("#obj").append("<option value=''>请选择</option>");
	$('#obj').selectpicker('refresh');
}

function change(){
	var value=$("#objType option:selected").text()
	$('#obj').html('');
	if(value=='主题队列'){
		//类型改变 改变对象
		$.ajax({
			url:proName+'/warning/getTopic',
			dataType:'json',
			success:function(data){
				$("#obj").append("<option value=''>请选择</option>");
				if(data!=null){
					for(var i=0;i<data.length;i++){
						$("#obj").append("<option value='"+data[i].id+"'>"+data[i].topicQueueName+"</option>");
					}
				}
				$('#obj').selectpicker('refresh');
			}
		})
	}else{
		$("#obj").append("<option value=''>请选择</option>");
		$('#obj').selectpicker('refresh');
	}
	
}

//初始化时间控件
function initTime(){
$(".date").datetimepicker({
		format:'yyyy-mm-dd',
		 language:  'zh-CN',  //日期
	     weekStart: 1,
	     todayBtn:  1,
	    autoclose: 1,
	     todayHighlight:1,
	     startView: 2,
	     minView: 2,
	     forceParse: 0,
	     pickerPosition:'bottom-left',
	     showMeridian:true
	});
}	


//弹出模态框
function processingById(){
	var arr = $('#tb_table').bootstrapTable('getSelections');
	if(arr.length==0){
		window.wxc.xcConfirm("请选择需要操作的数据！", window.wxc.xcConfirm.typeEnum.confirm,{
			title: "提示",
			btn:parseInt("0001",2)
		})
	}else{
		if(arr[0].status=="已处理"){
			window.wxc.xcConfirm("该条数据已处理", window.wxc.xcConfirm.typeEnum.confirm,{
				title: "提示",
				btn:parseInt("0001",2)
			})
		}else{
			$("#dealPeople").val('');
			$("#dealWay").val('');
			validform().resetForm();
			$(".error").removeClass("error");
			$("#pModal").modal('show');
			$("#dealWay").css("height","54px")
			$("#cId").val(arr[0].id);
			$("#item").val(arr[0].alarmItem);
			$("#o").val(arr[0].obj);
			$("#otype").val(arr[0].objType);
		}
	}
}

//保存
function save(){
	if(validform().form()){
		var alarmItem=$("#otype").val()+' '+$("#o").val()+" "+$("#item").val();
		//console.log(alarmItem);
			var datapost = {
				"id":$("#cId").val(),
				"dealPeople":$("#dealPeople").val().trim(),
				"dealWay":$("#dealWay").val().trim(),
				"alarmItem":alarmItem
			}
			var url=proName+"/warning/save";
			$.ajax({
				url:url,
				data:datapost,
				type:"POST",
				dataType:"json",
				success:function(result){
					console.log(result)
					if(result.state==200){
						window.wxc.xcConfirm("保存成功！", window.wxc.xcConfirm.typeEnum.confirm,{
							title: "提示",
							btn:parseInt("0001",2),
							onClose:function(){refresh();},
							onOk:function(){refresh();}
						});
					}else{
						window.wxc.xcConfirm(result.message, window.wxc.xcConfirm.typeEnum.confirm,{
							title: "提示",
							btn:parseInt("0001",2)
						});
			    	
					}
				}
			})
	}
	
}

function refresh(){
	 $('#tb_table').bootstrapTable('refresh');
	 $("#pModal").modal('hide');
}
//查看
function showMessage(){
	var arr = $('#tb_table').bootstrapTable('getSelections');
	if(arr.length==0){
		window.wxc.xcConfirm("请选择需要操作的数据！", window.wxc.xcConfirm.typeEnum.confirm,{
			title: "提示",
			btn:parseInt("0001",2)
		})
	}else{
		if(arr[0].status=="已处理"){
			$("#showModal").modal('show');
			$("#People").val(arr[0].dealPeople);
			$("#Way").val(arr[0].dealWay)
		}else{
			window.wxc.xcConfirm("该条数据未处理", window.wxc.xcConfirm.typeEnum.confirm,{
				title: "提示",
				btn:parseInt("0001",2)
			})
		}
	}
}

function validform() {
    return $("#processing").validate({
        rules: {
        	dealPeople:{
                 required:true,
                 maxlength:64,
                 stringCheck:true
            },
            dealWay: {
                 required: true,
                 maxlength:500,
                 
             }
         },
		     messages: {
		    	 dealPeople:{
		             required:"处理人不能为空",
		             maxlength:"最多输入64位",
		             stringCheck:jQuery.validator.addMethod("stringCheck", function(value, element) {
		            	 var all= /^[a-zA-Z0-9\u4e00-\u9fa5]+$/;
		                 return this.optional(element) || all.test(value);       
		             }, "处理人名称不能含有特殊字符")
		        },
		        dealWay: {
		             required: "处理方式不能为空",
		             maxlength:"最多输入500位",
		         }
		 },
   })
}